home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / pascal / oop55.zip / CARDGEN.PAS < prev    next >
Pascal/Delphi Source File  |  1989-05-02  |  2KB  |  76 lines

  1.  
  2. { Turbo Generator }
  3. { Copyright (c) 1989 by Borland International, Inc. }
  4.  
  5. program CardGen;
  6. { Turbo Pascal 5.5 object-oriented example.
  7.   Generates example OOP databases for CARDFILE.PAS.
  8.   Refer to OOPDEMOS.DOC for an overview of this program.
  9. }
  10.  
  11. {$S-}
  12. {$M 8192, 16384, 16384}
  13.  
  14. uses Crt, Objects, Forms, Sliders, Cards;
  15.  
  16. const
  17.   Signature: Longint = $44524143;    { unique signature for file }
  18.  
  19. var
  20.   F: Form;
  21.   C: CardList;
  22.   S: FStream;
  23.  
  24. procedure PeopleForm;
  25. { Create an example form in memory with "People" info }
  26. begin
  27.   F.Init(10, 5, 54, 16);
  28.   F.Add(New(FStrPtr, Init(3, 2, ' Firstname ', 30)));
  29.   F.Add(New(FStrPtr, Init(3, 3, ' Lastname  ', 30)));
  30.   F.Add(New(FStrPtr, Init(3, 5, ' Address ', 32)));
  31.   F.Add(New(FStrPtr, Init(3, 6, ' City ', 16)));
  32.   F.Add(New(FStrPtr, Init(25, 6, ' State ', 2)));
  33.   F.Add(New(FZipPtr, Init(34, 6, ' Zip ')));
  34.   F.Add(New(FIntPtr, Init(3, 8, ' Counter 1 ', 0, 99999999)));
  35.   F.Add(New(FIntPtr, Init(22, 8, ' 2 ', 0, 99999999)));
  36.   F.Add(New(FIntPtr, Init(33, 8, ' 3 ', 0, 99999999)));
  37.   F.Add(New(FSliderPtr, Init(3, 10, ' Slider One ', 0, 100, 5)));
  38.   F.Add(New(FSliderPtr, Init(3, 11, ' Slider Two ', 0, 100, 5)));
  39. end;
  40.  
  41. procedure PartsForm;
  42. { Create an example form in memory with "Parts" info }
  43. begin
  44.   F.Init(12, 7, 68, 14);
  45.   F.Add(New(FStrPtr, Init(3, 2, ' Part Code ', 10)));
  46.   F.Add(New(FRealPtr, Init(24, 2, ' Cost ', 9, 2)));
  47.   F.Add(New(FRealPtr, Init(39, 2, ' Retail ', 9, 2)));
  48.   F.Add(New(FStrPtr, Init(3, 4, ' Description ', 40)));
  49.   F.Add(New(FStrPtr, Init(3, 5, ' Description ', 40)));
  50.   F.Add(New(FIntPtr, Init(3, 7, ' Units On Hand ', 0, 999999)));
  51.   F.Add(New(FIntPtr, Init(24, 7, ' Backorder ', 0, 999999)));
  52.   F.Add(New(FIntPtr, Init(41, 7, ' Shipped ', 0, 999999)));
  53. end;
  54.  
  55. procedure MakeFile(FileName: FNameStr);
  56. { Use a stream to create a cardfile with a form and no data }
  57. begin
  58.   C.Init(F.Size);
  59.   S.Init(FileName, SCreate, 1024);
  60.   S.Write(Signature, SizeOf(Longint));
  61.   F.Store(S);
  62.   C.Store(S);
  63.   S.Flush;
  64.   if S.Status <> 0 then WriteLn('Error creating file ', FileName);
  65.   S.Done;
  66.   C.Done;
  67.   F.Done;
  68. end;
  69.  
  70. begin
  71.   PeopleForm;
  72.   MakeFile('PEOPLE.DTA');
  73.   PartsForm;
  74.   MakeFile('PARTS.DTA');
  75. end.
  76.